__author__ = 'chenwei'
# -*- coding: utf-8 -*-
import random
'''
这是一个排序程序，由3个函数组成。
"swap" 为两个值互换的函数。
"random_list_int" 为自动生成数字列表的函数，三个参数组成。min_num产生的最小数值，max_num产生的最大数值，count列表中元素的个数生成的个数。
"list_sort" 为排序函数，两个参数控制。the_list要排序的列表，desc为真的时候倒叙排列(默认为假)。
这个排序列表，只能由纯数值（int和float型）或(str型)组成，不能混合使用。
'''
def swap(x,y):
    return y,x

def random_list_int(min_num=0, max_num=100,count=10):
    temp_list = []
    for i in range(count):
        temp_list.append(random.randint(min_num,max_num))
    return temp_list

def list_sort(the_list,desc=False):
    list_length = len(the_list)
    while list_length > 0:
        for index in range(list_length -1):
            if desc:
                if the_list[index] < the_list[index + 1] :
                    the_list[index], the_list[index + 1] = swap(the_list[index], the_list[index + 1])
            elif the_list[index] > the_list[index+1] :
                    the_list[index],the_list[index+1] = swap(the_list[index],the_list[index+1])
        list_length = list_length -1
    return the_list

if __name__ == '__main__':
    ll = random_list_int(min_num=0,max_num=125,count=100)
    print("-" * (len(ll)*4+16))
    print("原  始  列  表：",end='')
    print(ll)
    result = list_sort(ll)
    print("正序排列后列表：", end='')
    print(result)
    result = list_sort(ll,desc=True)
    print("倒序排列后列表：", end='')
    print(result)